package com.hunan.api.catv.entity.po;

import com.baomidou.mybatisplus.annotation.*;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.util.Date;

/**
 * <p>
 * 奖品库
 * </p>
 *
 * @author jiangzhuan
 * @since 2021-06-08
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("prize_store")
public class PrizeStore extends Model<PrizeStore> {

    private static final long serialVersionUID=1L;

    /**
     * id
     */
    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;

    /**
     * 奖品名
     */
    private String name;

    /**
     * 奖品描述
     */
    private String description;

    /**
     * 兑奖跳转链接
     */
    private String links;

    /**
     * 创建时间
     */
    @TableField(fill = FieldFill.INSERT)
    private Date createTime;

    /**
     * 更新时间
     */
    @TableField(fill = FieldFill.INSERT_UPDATE)
    private Date updateTime;

    /**
     * 创建人
     */
    private Integer createBy;

    /**
     * 更新人
     */
    private Integer updateBy;

    /**
     * 奖品类型：0：爱奇艺7天卡，1：爱奇艺月卡，2：爱奇艺季卡，3：爱奇艺年卡
     */
    private Integer type;

    /**
     * 逻辑删除 0:已删除 1:未删除
     */
    private Integer deleted;

    /**
     * 状态 0:禁用 1：可领取 2：已领取 3:锁定
     */
    private Integer state;

    /**
     * 锁定时间
     */
    private Date lockingTime;

    /**
     * 锁定奖品的用户id
     */
    private Integer lockingMemberId;

    /**
     * 扩展字段 json格式
     */
    private String extend;

    /**
     * 活动类型： 1：大小屏账号绑定，2：欧洲杯竞猜活动
     */
    private Integer activityType;

    /**
     * 第三方唯一id码
     */
    private String thirdUniqueCode;


    public static final String ID = "id";

    public static final String NAME = "name";

    public static final String DESCRIPTION = "description";

    public static final String LINKS = "links";

    public static final String CREATE_TIME = "create_time";

    public static final String UPDATE_TIME = "update_time";

    public static final String CREATE_BY = "create_by";

    public static final String UPDATE_BY = "update_by";

    public static final String TYPE = "type";

    public static final String DELETED = "deleted";

    public static final String STATE = "state";

    public static final String LOCKING_TIME = "locking_time";

    public static final String LOCKING_MEMBER_ID = "locking_member_id";

    public static final String EXTEND = "extend";

    public static final String ACTIVITY_TYPE = "activity_type";

    public static final String THIRD_UNIQUE_CODE = "third_unique_code";

    @Override
    protected Serializable pkVal() {
        return this.id;
    }

}
